import { ref, computed } from 'vue'
import { defineStore } from 'pinia'
import config from '@/config'
import { message } from 'ant-design-vue'
import tool from '@/utils/tool'

const toolDataGet = (key) => {
  return tool.data.get(key)
}

// 获取缓存中的，如果取不到那就用配置的
const getCacheConfig = (value) => {
  const data = toolDataGet(value)
  if (data === null) {
    return config[value]
  }
  return data
}

export const useGlobalStore = defineStore('global', {
  state: () => ({
    // 菜单是否折叠 toggle
    menuIsCollapse: getCacheConfig('SNOWY_MENU_COLLAPSE'),
    // 用户信息
    userInfo: {},
    // 系统配置
    sysBaseConfig: toolDataGet("SNOWY_SYS_BASE_CONFIG") || config.SYS_BASE_CONFIG,
    // 默认应用
    module: getCacheConfig('SNOWY_MENU_MODULE_ID')
  }),
  getters: {},
  actions: {
    setUserInfo(key) {
      this.userInfo = key
    },
    setSysBaseConfig(key) {
      this.sysBaseConfig = key
    },
    toggleConfig(key) {
      this[key] = !this[key]
    }
  }
})
